Nhảy tới nội dung

Hoạt ảnh Sprite (Sprite Animation)

Vẽ hình ảnh và tạo hoạt ảnh sprite trên HTML5 Canvas.

Nạp và vẽ hình ảnh​

Để vẽ hình ảnh lên canvas, trước tiên ta tạo đối tượng Image và gán sự kiện onload:

let img = new Image();
img.src = 'resources/player.png';
img.onload = function() {
context.drawImage(img, 0, 0);
};

Vẽ Hoạt ảnh Sprite Sheet​

Một Sprite Sheet chứa nhiều khung hình hoạt ảnh xếp liền kề nhau. Ta cắt từng khung hình bằng hàm drawImage() mở rộng:

// drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
context.drawImage(
spriteSheet,
frameX * frameWidth, // Tọa độ X trên sprite sheet
frameY * frameHeight, // Tọa độ Y trên sprite sheet
frameWidth,
frameHeight,
posX, // Tọa độ X vẽ lên canvas
posY, // Tọa độ Y vẽ lên canvas
frameWidth,
frameHeight
);

Chuyển đổi frameX liên tục theo thời gian sẽ tạo nên hoạt ảnh nhân vật chạy, nhảy hoặc tấn công sinh động.